package com.huangfuyi.process.dao;

import com.huangfuyi.process.entity.basic.EPPageInfo;
import com.huangfuyi.process.entity.model.EPModelEntity;

import java.util.List;

public interface EPCoreModelDao<T extends EPModelEntity> {

    /**
     * 保存流程模板配置信息
     */
    <E extends EPModelEntity> int add(E model);

    /**
     * 分页查询流程模板
     */
    <E extends EPModelEntity> List<T> queryPage(E modelEntity, EPPageInfo pageInfo);

    /**
     * 根据id查询流程模板信息
     */
    T queryById(String modelId);

    /**
     * 根据流程模板名称查询最新版本
     */
    T queryLastVersionByName(String name);

}
